a0babaf2a45380df3457dfe20cadbac6c3cbbed5,src/org/jgroups/protocols/pbcast/FLUSH.java,FLUSH,handleStartFlush,#Message#FlushHeader#,485

Before Change


                          + proceedFlushCoordinator);
            }            
            if(sendRejectFlushMessage){
                rejectFlush(fh.viewID, abortFlushCoordinator);
            }
            onStartFlush(proceedFlushCoordinator, fh);
        }

After Change


            }else{                
                if(flushCoordinator != null){                    
                    if(flushCompleted){
                        abortFlushCoordinator = flushRequester;
                    }
                    else if(flushRequester.compareTo(flushCoordinator) < 0){                                                           
                        abortFlushCoordinator = flushCoordinator;
                        flushCoordinator = flushRequester;
                        proceedFlushCoordinator = flushRequester;                         
                    }else if(flushRequester.compareTo(flushCoordinator) > 0){                                        
                        abortFlushCoordinator = flushRequester;
                        proceedFlushCoordinator = flushCoordinator;                        
                    }else{                    
                        if(log.isDebugEnabled()){
                            log.debug("Rejecting flush at " + localAddress + ", previous flush has to finish first");
                        } 
                        abortFlushCoordinator = flushRequester;                                             
                    }
                }else{
                    return;
                }
            }
        }
        if(proceed){          
            onStartFlush(flushRequester, fh);
        } else{  
            if(log.isDebugEnabled()){
                log.debug("Rejecting flush at " + localAddress
                          + " to flush requester "
                          + abortFlushCoordinator
                          + " coordinator is "
                          + proceedFlushCoordinator);
            }                        
            rejectFlush(fh.viewID, abortFlushCoordinator);    
            if(proceedFlushCoordinator != null)
                onStartFlush(proceedFlushCoordinator, fh);
        }